home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mac Magazin/MacEasy 12
/
Mac Magazin and MacEasy Magazine CD - Issue 12.iso
/
Sharewarebibliothek
/
DFÜ
/
Internet
/
NetRPG ƒ
/
NetRPG Docs 2.2
/
NetRPG Docs 2.2.rsrc
/
TEXT_130.txt
< prev
next >
Wrap
Text File
|
1995-06-20
|
20KB
|
482 lines
Chat Documentation
This is the original documentation for chat 2.06. It's not very easy to read, so I would suggest skimming over it and then looking at it later if you need to.
____________________________________________________
This is a the documentation for Chat - an TCP/IP Chat Server for the Mac.
It was originally written by Peter N. Lewis. Extensive modifications by me
have turned it into version 2.
If anyone would like to write some better documentation for Chat 2.0 -
please do so and send it to me - I just do not have the time to do it.
Email any comments/suggestions/complaints/etc. to: nneul@umr.edu
This software is shareware - if you want to distribute it on any commercial
medium (information services, CD, etc.) contact me first - I would
appreciate a sample copy of the CD for example.
The latest version of Chat and it source are available on my ftp site:
pluto.cc.umr.edu in /pub/chat-20x
I would appreciate a note from anyone who has done anything interesting
with the source - and before anyone redistributes any derivative works.
Also, please let me know if you are using the Chat room for something -
I'd like to know it's worth it.
Enjoy...
-- Nathan Neulinger (nneul@umr.edu)
**** WHATS NEW IN 2.0.6 ****
The user password bug has been fixed.
A new option has been added to allow the chat room application to beep
whenever someone connects.
Adminstrative variables have been added to allow administrative setting
of beep on login, prompt for channel at login, and subject. They are
BEEP, PROMPT, and SUBJECT, respectively.
A new menu option, though currently not implemented, has been added which
will allow the administrator to control whether users can change the
subject of the channel.
The help text has been updated to reflect the change in the /CHANNEL
command, which (as of v.2.0.5) lists the channels and subjects if no channel
is specified.
**** WHATS NEW IN 2.0.5 ****
The bug that caused the username to not be displayed in the "User has
left chat room" message has been fixed.
The icon mask has been fixed, it used to not be easy to click, only a
small area of it was sensitive.
A new user variable is available "SUBJECT", allows the user to set the
subject of a channel.
The "/CHANNEL" command will now display a list of channels, and the
subjects for those channels, when a channel name is not entered. It also
puts a * in front of the channel you are currently on.
There is a new STR# resource that holds the default subjects for the
channels in the chat room.
A new preferences option and menu item is available - Prompt For Channel
At Login. If this is turned off (the default now), the user will be
automatically placed in the first channel.
The login screens will now allow up to three chances to type in the
correct/valid response. You now will not be immediately logged out if you
make a typo in the channel name.
**** WHATS NEW IN 2.0.4 ****
Several bugs have been fixed including the infamous port 1420 problem.
Also, a beep has been added that is sounded when you receive a page.
The About box has been changed.
Chat is now distributed by default with log files for all channels turned
off, this can be easily changed by filling in file names.
The default port is now set to 23, so you can simply telnet to the
machine chat is running on, without specifying a port number.
The problem with Chat not quitting when you shut down or restart has been
fixed. For you programmer types out there - let this be a lesson to you:
"Never name the Quit item in your file menu anything other than 'Quit' - it
was 'Quit Chat Room'".
**** WHATS NEW IN 2.0.3 ****
You can now switch between Foreground Only and Background Only versions
of the Chat Room by simply changing the Background only bit in the size
resource. Thanks to Peter Lewis for providing the code to make this
possible. To cut down on size, the Chat room will be distributed in the
foreground only mode.
The utilities menu has been enabled. Features available in utilities menu:
Disabling User Passwords
Disabling Logins
Disabling Whispers
Disabling Yells
Default settings for these options are read in from the 'CPrf' resource
in the application. A 'TMPL' for editing this resource is also present.
The default port has been moved from a STR resource to the preferences
resource. The setting of disabling user passwords is restricted if their
are no passwords present in the file.
A new administrator command has been added - \SET to allow setting of
those disabled options from within the chat room. For example - with the
default admin password of "admin". The command "\SET admin logins off"
will disable any new logins. Typing "\SET admin" will list the options.
A new die rolling routine has been added - allows easy selection of
different die configurations in the standard roll playing notation such as
2d20 to roll 2 twenty sided dice.
**** WHATS NEW IN 2.0.2 ****
By popular demand - I have reverted to Chat being a BackGround only
application. However, instead of it only being background only, you have
the choice. Two applications are distributed with the archive. The (BG) one
is Background Only. The (FG) is Foreground Only.
The only difference between the two is the "Only Background" bit in the
SIZE resource, and the 0 or 1 value in Str #3 in the Globals string
resource. I know it is a cheap way to program it, but I don't have all
that much time to work on it. If anyone would like to write me a small
little piece of Pascal code that would check to see what the Background
Only bit is, please do.
Plans for 2.0.3 - someone sent me some new code for the die rolling
routines. Will put that in as soon as I have a chance to rewrite it to
match the style of the rest of the program. Thanks to Erich at UIUC
for the new code.
Other Concerns: Chat logs can be placed in a specific location by
typing the full path in the ChannelLogNames string resource.
Eg. "HD 80:Chat Logs:Channel 1 Log" for example. Without the quotes! :)
There is still a problem with Chat crashing after running for an extended
time. So far - this appears to only affect Chat - it doesn't seem to bother
any other programs that are running.
Chat has been successfully tested and run under A/UX 3.0.1.
**** WHATS NEW IN 2.0.1 ****
Added the capability for leaving the user passwords string resource
empty. Now, if there is nothing in the user passwords string resource
the chat room will not ask for a user password on login.
Also fixed a small bug - well, didn't actually fix it, just turned off
Pascal Range Checking in the compile. Problem caused Chat to crash on
any machine not running MacsBug.
**** WHATS NEW IN 2.0 ****
This is a new and improved version of Peter N. Lewis's Chat 1.1
Macintosh TCP/IP Chat Server. It now supports changing of channels,
changing of user names, and many other nifty features. To customize
it you will need to use ResEdit - most of the program's strings are
contained
in resources so it can be customized rather extensively.
New Commands:
User Help /HELP
Changing channel /CHANNEL ch-name
Whispering to another user /WHISPER user
Yelling to all channels /YELL msg
Change your name /SET NAME newname
Page a user to your channel /PAGE user
List users on all channels /LISTALL
List users on current channel only /LIST
Rolling dice (for games I suppose) /DICE count
Hiding from other users (Admin Only) \HIDE admin-pswd
Unhideing from other users (Admin Only) \UNHIDE admin-pswd
Disconnect A User (Admin Only) \KILL admin-pswd user
Disconnect All (Admin Only) \RESTART admin-pswd
Administrator Help \HELP
User and Administrator Passwords
The default TCP port to connect to: 1420
The default user password for Chat 2.0 is "permission".
The default admin password for Chat 2.0 is "admin".
A sample telnet session to the chat server is enclosed.
*************************************************************************
The following is the documentation enclosed w/ Chat 1.1.0.
*************************************************************************
Chat 1.1.0 © Peter N Lewis, Mar 1992.
This program is free, but I retain the copyright on it.
This program was initially written to assist in the online meetings of the
TopSoft group, a group of mac programmers on the Internet, dedicated to
producing free, high quality software and sample code. To get more
information about this group, ftp to syrinx.kgs.ukans.edu and check out
the /topsoft directory, or send some mail to
ts-request@syrinx.kgs.ukans.edu and ask to be added to the mailing list.
• Contents
What Chat Does
Using Chat
Customising Chat
How It Works
Limitations
Small Print
Warranty
Fine Print
Version History
The Author
• What Chat Does
Chat is a background only application that lets Macs with MacTCP 1.1 serve
as a very primitive IRC. Once Chat is running on your mac, multiple
people can Telnet to port 1420 on your mac and have online discussions .
Chat has no macintosh user interface, the only way to use it is by
telneting to your mac. I wrote this to hold the weekly online meetings of
the TopSoft group, which have proved very successful. Chat can support
upwards of 12 users with the current memory partition (200k), and can
support an arbitrarily large number of users given enough memory (though
MacTCP will probably blow up if you try too many :-). Add about 5 or 10k
for each extra users you want.
• Using Chat
You must have MacTCP 1.1 installed in order to use Chat.
Put Chat or an alias to it in the Startup Folder (System 7) or make it a
startup application (System 6 - note you will have to use "Selected
Applications and DAs" since background only applications are not counted
as Open Applications under System 6). Double-Click Chat to get it started
now.
Now you need to connect to Chat using NCSA/Telnet, MUDDweller, telnet on
unix or VMS machines or some other method...
NCSA/Telnet:
Choose Open Connection from the File Menu, type in the name (or IP number)
of your mac, a space and then the port number (1420).
MUDDweller:
Choose New, then choose TCP/IP Address from the configure menu and type in
the ip numbers of your mac (or the name for newer versions of MUDDweller),
and the port number (1420). Hit OK, and then choose Open Connection from
the Configure menu.
Unix:
telnet <macname or ip number> 1420
VMS:
telnet <macname or ip number> /port=1420
When you connect, it will ask you for a channel. Channels are defined in
a STR# resource inside chat (no, I'm not going to make a fancy UI for
editing it). By default, there are two channels, “normal” and “nolog”.
The normal channel is logged to Normal Log on your system volume. The
nolog channel is not logged (obviously :-). After that it will ask you
for your name. You are now logged in, but Chat is very boring with only
one person logged in, so get someone else to log in as well, or log in
yourself several times. From now on anything you type will be echoed to
all other users in a format like this:
I type “Hello”, and others would see:
PeterL: Hello
Here is a sample session:
**** Sample Session ****
unixprompt> telnet mymac 1420
Welcome to Peter's Private Party Line.
Select a channel ("normal" is a good bet):normal
Enter your name:PeterL
Welcome. Commands start with a slash (/), everything else goes to the
channel.
Warning: Everything said is logged and may be used against you.
/LIST
FredB
Hi Fred, whats up?
FredB: Ahh, Peter you showed up. Nothing much, usual stuff.
FredB: How's Chat coming along?
FredB: How is Chat coming along?
****
Here, I typed the lines:
telnet mymac 1420
normal (third line)
PeterL (fourth line)
Hi Fred, whats up?
Try it out, you’ll get the idea pretty quick.
There are several commands, they all start with a slash (/), to get a
list, just type "/<return>":
****
/
Bad command. Commands are:
/QUIT - exit chat, but why would you want to leave?
/LIST - display a list of people on this channel.
/DO <action> - display an action like "Yourname <action>"
/ME <action> - same as /DO
/SET <variable> <value> - set a variable (eg /SET echo true)
everything else is sent to everyone on the channel.
****
There is also a silent command which only the owner should use, QUITNOW
(case IS relevant), which closes the server down. Don’t use this on
someone else’s server! As the owner, you can change this command by
changing the Globals STR#, but you probably wont need to, since no one
reads the documentation anyway, they'll never find out about it :-)
There is no way to change channels once you are on, or to listen in on
more than one channel at once (except by connecting to the server more
than once of course).
• Customising Chat
You can customise Chat by using ResEdit to change the STR# resource which
contains the port number, the channel names, and log names, the Chat Log
creator, the commands, and all the strings that Chat produces.
• How It Works
Chat is a very simple program, I wrote it in about three hours, plus I've
done about a dozen more hours neatifying it, and a couple hours getting it
ready to send out. The entire program (ignoring the TCP and other
libraries) is only a couple hundred lines, and as such should be a good
starting sample code for writing TCP applications (the pascal source code
will be sent out as with most of my programs).
All it does is listen to the TCP port specified in the STR# resource.
When it gets a new connection it starts up another listener, and deals
with the user, first getting their channel and name, and then echoing all
their messages to the other users on that channel. It does this by
keeping a list of all currently logged on users, when a line comes in from
one user, it goes thru the list and echoes it (with the user’s name
prepended) to all other users with the same channel.
• Limitations
Chat probably require the 128k ROM and System version 6.0 or higher. It
may well only work with a Mac IIsi (not mine)-:, and System 7.0. It
definitely requires MacTCP v1.1 or better yet 1.1.1.
There are several caveats. Second, in a “crowded room”, you may have
troubles with people all speaking at once (which is not a real problem for
users using MUDDweller, but mucks up the screens of users who connect with
other clients). The solution we adopted was to start and end you messages
with a blank line, so people can tell when you have finished, and avoid
interrupting you once you have started.
• Small Print
This program is free, don’t bother sending me any money for this one, it
was only a days work anyway. If you like it, send me an Email message
saying hello, or a postcard or something like that.
You may distribute Chat any way you wish as long as you don't charge for
it (reasonable download costs such as Compu$erve are ok I guess (although
who would call Compu$erve's download costs reasonable?)). It would
probably be a good idea to keep this documentation file with the program,
but I'm hardly likely to check up on you now am I! I don't guarantee any
support, but I always answer my Email (I'm not so good with snail-mail and
those horrible little bits of paper and such!). If I don't answer Email
its because your message didn't get to me, or my reply bounced (so try
again, and include a valid Internet address if you can).
You MAY NOT distribute it on any magnetic media you charge for without my
express permission unless you charge less that US$3 for the disks (and no
membership costs). I am sick and tired of seeing people selling
PD/Shareware software for ten dollars a disk without any reimbursement to
the authors. If you are a legitimate user group, let me know and I'll
waive teh "no membership costs" restriction.
• Warranty
There is absolutely NO warranty, guarantee, hint, suggestion or
anything else that would lead anyone to think that Chat do anything stated
in this documentation. It usually does not destroy data (systems,
hardware, etc), and has sometimes worked on my Mac with System 7.0. It is
highly unlikely that it will work with older systems (pre 6.0 anyway) or
with the 64k ROM. It might work with the other models, but I don't have
them all, so I don't know (Anyone want to give me a IIfx (or one of those
new beasts? How did they come up with such a terrible name???) so I can
check for compatibility?). It might work with future versions of MacTCP
(after 1.1.1), but who can tell? If it works on your system (or
especially if it doesn't!), send me a postcard or some Email and let me
know!
• Fine Print
Peter Lewis hereby disclaims all warranties relating to this
software, whether express or implied, including without limitation any
implied warranties of merchantability or fitness for a particular
purpose. Does any one really read this stuff. Peter Lewis will not be
liable for any special, incidental, consequential, indirect or similar
damages due to loss of data or any other reason, even if Peter Lewis or an
agent of his has been advised of the possibility of such damages. In no
event shall Peter Lewis be liable for any damages, regardless of the form
of the claim. The person using the software bears all risk as to the
quality and performance of the software.
• Version History
Still to do -
Perhaps a password facility.
Private message facility - nope, I've decided not to do this.
Uniteruptable messages
Log play back
v1.1.0
~Multiple channels
~New / command structure
v1.0.1
~Word wrapping lines.
v1.0.0
~Moved strings into resource fork.
~Improved strings
*****
* The Author
Programs written by me:
Anarchie 1.1.0 - Macintosh Archie client and FTP browser.
Morpion 1.0.0 - A simple solitaire game.
FTPd 2.2.0 - Macintosh FTP server.
Daemon 1.0.0 - Macintosh multi-protocol daemon.
Script Daemon 1.0.0 - Telnet->AppleScript gateway
DeHQX 2.0.1 - BinHex decoder (use StuffIt Expander instead).
Finger 1.3.7 - Macintosh Finger client/daemon.
Talk 1.1.1 - Macintosh Talk client/daemon.
MacTCP Watcher 1.1.0 - Display MacTCP state information.
MacBinary II+ 1.0.2 - MacBinary II+ encoder/decoder.
ObiWan 4.0.1 - Online help system.
Bolo Finder 1.0.2 - Display the results from Mike Ellis' Bolo Tracker.
Bolo RandomMap 1.1.0 - Generate a random map for Bolo.
FetchNews 1.0.0b - Fetch News for use with NewsWatcher demo mode.
Chat 1.1.0 - Multiuser primitive irc-like daemon.
The latest versions of my programs are available from:
amug.org:/pub/ftp1/peterlewis
redback.cs.uwa.edu.au:/others/peterlewis
and French versions of some of my programs may be available from:
ftp.sri.ucl.ac.be:/pub.
You can sometimes get the latest development versions from redback, but
only use the development versions if you have some specific problem - in
which case you should tell me, especially since the development versions on
redback are often not the latest versions I have)
Send postcards, comments, bug reports, wishes, and payments to:
Peter Lewis,
10 Earlston Way,
Booragoon, Perth, WA, 6154,
AUSTRALIA
or by electronic mail to:
Internet: peter.lewis@info.curtin.edu.au
Bitnet: peter.lewis%info.curtin.edu.au@cunyvm.bitnet
UUCP: uunet!munnari.oz!info.curtin.edu.au!peter.lewis
*****